package cn.tedu.review;
/*本类用于回顾面向对象的知识
 * 执行顺序:构造代码块->构造方法->普通方法->局部代码块*/
public class TestOOP {
    public static void main(String[] args) {
        //7.分别使用3种不同的构造方法,创建对象t1 t2 t3
//        Teacher t1 = new Teacher();
//        Teacher t2 = new Teacher(666);
        Teacher t3 = new Teacher("张三",'男',100.99,18);
        //8.触发局部代码块
        t3.ready();
    }
}

//1.创建Teacher类
class Teacher{
    //2.提供属性
    String name;//姓名
    char gender;//性别
    double salary;//薪水
    int age;//年龄

    //4.提供本类的构造代码块:类里方法外,并且打印构造代码块
    {
        System.out.println("我是构造代码块");//con 多,static 1
    }
    //5.1提供本类的无参构造:与本类类名同名,且没有返回值类型的方法
    public Teacher(){
        System.out.println("我是无参构造");
    }
    //5.2提供本类的含参构造int n
    public Teacher(int n){
        System.out.println("我是含参构造"+n);
    }
    //5.3提供本类的全参构造
    //Alt+Insert->Constructor->Ctrl+A->ok
    public Teacher(String name, char gender, double salary, int age) {
        this.name = name;
        this.gender = gender;
        this.salary = salary;
        this.age = age;
        System.out.println("我是全参构造");
    }

    //3.提供本类的普通方法
    public void ready(){
        //6.提供本类的局部代码块
        teach();
        System.out.println("正在备课...");
        {
            System.out.println("我是局部代码块");
        }
    }
    public void teach(){
        System.out.println("正在授课...");
    }
}